Implement synchronized shifting for child elements#47
Implement synchronized shifting for child elements#47patrickersing merged 18 commits intopatrickersing:amr_limiterfrom
Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
|
All tests are working. They are only shown as failing because the codecov upload fails since it's a branch on my fork. |
|
My first implementation is ready. Now, I first compute the (nonnegative) mean solution of elements that are going to be refined before the refinement process and then pass that information to the limiter. Then, all the 4 child elements are shifted w.r.t. this mean and with the same theta. |
patrickersing
left a comment
There was a problem hiding this comment.
@bennibolm Thanks a lot for moving this forward!
I remember that there were positivity issues in the elixir |
|
Thanks for all the comments. I will apply the suggestions and/or answer in the next few days.
Okay, thanks. I will try this. |
|
I tested the |
patrickersing
left a comment
There was a problem hiding this comment.
LGTM! Nice that you also managed to apply this strategy for the coarsening step.
544ac69
into
patrickersing:amr_limiter
In this PR, I implemented a first version where freshly refined elements are shifted simultaneously (with the same theta) towards the mean value of their parent element (if necessary).
For now, I haven't found an example where the implementation without simultaneous shifting preserves conservation and the one without doesn't. I'll test some more setups.
see trixi-framework#2396